(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, x)) → a(s, a(s, a(d, a(p, a(s, x)))))
a(f, a(s, x)) → a(d, a(f, a(p, a(s, x))))
a(p, a(s, x)) → x

Rewrite Strategy: INNERMOST

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(f, 0) → c(A(s, 0))
A(d, a(s, z0)) → c2(A(s, a(s, a(d, a(p, a(s, z0))))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
S tuples:

A(f, 0) → c(A(s, 0))
A(d, a(s, z0)) → c2(A(s, a(s, a(d, a(p, a(s, z0))))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c, c2, c3

(3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

A(f, 0) → c(A(s, 0))

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, z0)) → c2(A(s, a(s, a(d, a(p, a(s, z0))))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
S tuples:

A(d, a(s, z0)) → c2(A(s, a(s, a(d, a(p, a(s, z0))))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c3

(5) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace A(d, a(s, z0)) → c2(A(s, a(s, a(d, a(p, a(s, z0))))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0)) by

A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, x0)) → c2

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, x0)) → c2
S tuples:

A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, x0)) → c2
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c3, c2, c2

(7) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

A(d, a(s, x0)) → c2

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
S tuples:

A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c3, c2

(9) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace A(f, a(s, z0)) → c3(A(d, a(f, a(p, a(s, z0)))), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0)) by

A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, x0)) → c3

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, x0)) → c3
S tuples:

A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, x0)) → c3
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c3, c3

(11) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

A(f, a(s, x0)) → c3

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
S tuples:

A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c3

(13) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace A(d, a(s, z0)) → c2(A(s, a(s, a(d, z0))), A(s, a(d, a(p, a(s, z0)))), A(d, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0)) by

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
S tuples:

A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0))
A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c3, c2, c2

(15) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace A(f, a(s, z0)) → c3(A(d, a(f, z0)), A(f, a(p, a(s, z0))), A(p, a(s, z0)), A(s, z0)) by

A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
S tuples:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c2, c3, c3

(17) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0)) by

A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))
S tuples:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))
K tuples:none
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c2, c3, c3

(19) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

A(f, a(s, 0)) → c3(A(d, a(s, 0)))
We considered the (Usable) Rules:

a(p, a(s, z0)) → z0
a(f, 0) → a(s, 0)
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
And the Tuples:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = [3]   
POL(A(x1, x2)) = x1   
POL(a(x1, x2)) = [5]x1   
POL(c2(x1, x2)) = x1 + x2   
POL(c2(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + x4 + x5   
POL(c3(x1)) = x1   
POL(c3(x1, x2, x3, x4)) = x1 + x2 + x3 + x4   
POL(d) = 0   
POL(f) = [1]   
POL(p) = 0   
POL(s) = 0   

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))
S tuples:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
K tuples:

A(f, a(s, 0)) → c3(A(d, a(s, 0)))
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c2, c3, c3

(21) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, a(p, a(s, 0))), A(p, a(s, 0)), A(s, 0)) by A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, 0), A(p, a(s, 0)), A(s, 0))

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))
A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, 0), A(p, a(s, 0)), A(s, 0))
S tuples:

A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, 0), A(p, a(s, 0)), A(s, 0))
K tuples:

A(f, a(s, 0)) → c3(A(d, a(s, 0)))
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c2, c3, c3

(23) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

A(d, a(s, 0)) → c2(A(s, a(s, 0)), A(s, a(d, a(p, a(s, 0)))), A(d, 0), A(p, a(s, 0)), A(s, 0))

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))
S tuples:

A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
K tuples:

A(f, a(s, 0)) → c3(A(d, a(s, 0)))
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c2, c3, c3

(25) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0))) by A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(s, z0)), A(p, a(s, a(s, z0))), A(s, a(s, z0)))

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

a(f, 0) → a(s, 0)
a(d, 0) → 0
a(d, a(s, z0)) → a(s, a(s, a(d, a(p, a(s, z0)))))
a(f, a(s, z0)) → a(d, a(f, a(p, a(s, z0))))
a(p, a(s, z0)) → z0
Tuples:

A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(f, a(s, 0)) → c3(A(d, a(s, 0)))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(s, z0)), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
S tuples:

A(d, a(s, x0)) → c2(A(s, a(d, a(p, a(s, x0)))), A(d, a(p, a(s, x0))))
A(f, a(s, a(s, z0))) → c3(A(d, a(d, a(f, a(p, a(s, z0))))), A(f, a(p, a(s, a(s, z0)))), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
A(f, a(s, x0)) → c3(A(f, a(p, a(s, x0))))
A(f, a(s, 0)) → c3(A(d, a(s, 0)), A(f, 0), A(p, a(s, 0)), A(s, 0))
A(d, a(s, a(s, z0))) → c2(A(s, a(s, a(s, a(s, a(d, a(p, a(s, z0))))))), A(s, a(d, a(p, a(s, a(s, z0))))), A(d, a(s, z0)), A(p, a(s, a(s, z0))), A(s, a(s, z0)))
K tuples:

A(f, a(s, 0)) → c3(A(d, a(s, 0)))
Defined Rule Symbols:

a

Defined Pair Symbols:

A

Compound Symbols:

c2, c3, c3, c2

(27) CpxTrsMatchBoundsTAProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 1.

The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by:
final states : [1]
transitions:
f0() → 0
00() → 0
s0() → 0
d0() → 0
p0() → 0
a0(0, 0) → 1
s1() → 2
01() → 3
a1(2, 3) → 1
01() → 1

(28) BOUNDS(O(1), O(n^1))